## Warning in cor(as.numeric(x[4:16]), as.numeric(x[17:29])): the standard
## deviation is zero
setwd("C:\\Users\\aniverb\\Documents\\Grad_School\\JHU\\700")
tv=read.table("trades_pivot_2016-11-18.txt", header=T)
head(tv)
## ProductName Maturity Date X6 X7 X8 X9 X10 X11
## 1 6E 2016-06-13 2016-05-02 4743 4371 14131 19188 26520 10183
## 2 6E 2016-06-13 2016-05-03 7761 9281 23010 18470 27603 18569
## 3 6E 2016-06-13 2016-05-04 4065 10092 31111 16142 41140 12268
## 4 6E 2016-06-13 2016-05-05 11257 9318 17680 22189 30305 12814
## 5 6E 2016-06-13 2016-05-06 3582 4173 58424 29355 16648 7940
## 6 6E 2016-06-13 2016-05-09 4806 9660 12547 9459 14289 6987
## X12 X13 X14 X15 X16 X17 X18 TimeToMaturity DayOfTheWeek
## 1 9504 5228 6112 2577 2616 0 0 42 Mon
## 2 8871 10705 7300 3884 2149 34 9 41 Tue
## 3 4785 4985 6424 2846 1784 15 0 40 Wed
## 4 7126 6431 4706 3802 1169 1 0 39 Thu
## 5 5493 6323 10189 4226 1304 1 0 38 Fri
## 6 0 0 0 0 0 16 0 35 Mon
## DayofMonth DayTradeTotal
## 1 2 105173
## 2 3 137637
## 3 4 135657
## 4 5 126798
## 5 6 147658
## 6 9 57764
pv=read.table("trades_pivot_vol_2016-11-18.txt", header = T)
#tot vol is not actually vol for all prices in day, but for vol of hourly vol/sd
#sd(c(4.195, 2.388, 5.414, 15.202, 10.399, 2.44, 6.733, 3.743, 4.343, 1.836, 5.19, 0.0, 0.0)) #4.2
head(pv)
## ProductName Maturity Date X6 X7 X8 X9 X10 X11
## 1 6E 2016-06-13 2016-05-02 4.195 2.388 5.414 15.202 10.399 2.440
## 2 6E 2016-06-13 2016-05-03 2.845 4.866 5.204 6.455 12.777 3.812
## 3 6E 2016-06-13 2016-05-04 2.709 5.932 11.152 7.811 9.139 4.576
## 4 6E 2016-06-13 2016-05-05 3.966 3.955 4.532 8.688 7.442 3.817
## 5 6E 2016-06-13 2016-05-06 3.432 1.998 19.902 8.070 8.105 2.980
## 6 6E 2016-06-13 2016-05-09 2.251 4.298 6.758 4.963 7.391 3.536
## X12 X13 X14 X15 X16 X17 X18 DayVolatility
## 1 6.733 3.743 4.343 1.836 5.190 0.000 0.000 4.200597
## 2 6.492 2.912 6.776 1.797 3.144 0.866 0.837 3.209426
## 3 2.625 3.157 3.281 2.045 2.589 0.354 0.000 3.356165
## 4 4.305 3.403 2.657 1.482 1.047 0.000 0.000 2.581969
## 5 2.001 5.503 4.956 1.861 1.606 0.000 0.000 5.289063
## 6 0.000 0.000 0.000 0.000 0.000 0.635 0.000 2.782648
tv_pv_comb=cbind(tv[,1:16], pv[,4:16])
head(tv_pv_comb)
## ProductName Maturity Date X6 X7 X8 X9 X10 X11
## 1 6E 2016-06-13 2016-05-02 4743 4371 14131 19188 26520 10183
## 2 6E 2016-06-13 2016-05-03 7761 9281 23010 18470 27603 18569
## 3 6E 2016-06-13 2016-05-04 4065 10092 31111 16142 41140 12268
## 4 6E 2016-06-13 2016-05-05 11257 9318 17680 22189 30305 12814
## 5 6E 2016-06-13 2016-05-06 3582 4173 58424 29355 16648 7940
## 6 6E 2016-06-13 2016-05-09 4806 9660 12547 9459 14289 6987
## X12 X13 X14 X15 X16 X17 X18 X6 X7 X8 X9 X10
## 1 9504 5228 6112 2577 2616 0 0 4.195 2.388 5.414 15.202 10.399
## 2 8871 10705 7300 3884 2149 34 9 2.845 4.866 5.204 6.455 12.777
## 3 4785 4985 6424 2846 1784 15 0 2.709 5.932 11.152 7.811 9.139
## 4 7126 6431 4706 3802 1169 1 0 3.966 3.955 4.532 8.688 7.442
## 5 5493 6323 10189 4226 1304 1 0 3.432 1.998 19.902 8.070 8.105
## 6 0 0 0 0 0 16 0 2.251 4.298 6.758 4.963 7.391
## X11 X12 X13 X14 X15 X16 X17 X18
## 1 2.440 6.733 3.743 4.343 1.836 5.190 0.000 0.000
## 2 3.812 6.492 2.912 6.776 1.797 3.144 0.866 0.837
## 3 4.576 2.625 3.157 3.281 2.045 2.589 0.354 0.000
## 4 3.817 4.305 3.403 2.657 1.482 1.047 0.000 0.000
## 5 2.980 2.001 5.503 4.956 1.861 1.606 0.000 0.000
## 6 3.536 0.000 0.000 0.000 0.000 0.000 0.635 0.000
products=as.vector(unique(tv_pv_comb$ProductName))
for (product in products){
tv_pv_combS=subset(tv_pv_comb, ProductName==product)
maturities=as.vector(unique(tv_pv_combS$Maturity))
for (maturity in maturities){
tv_pv_combM=subset(tv_pv_combS, Maturity==maturity)
trades=as.vector(as.matrix(t(tv_pv_combM[,4:16])))
priceVol=as.vector(as.matrix(t(tv_pv_combM[,17:29])))
plot(trades, priceVol, xlab="trade volume hourly", ylab="price volatility hourly", main=paste(product, "Maturity:", maturity), pch=20) #can't do yet for daily b/c of TotVol issue
cors=apply(tv_pv_combM, 1, function(x){cor(as.numeric(x[4:16]), as.numeric(x[17:29]))})
days=nrow(tv_pv_combM)
plot(1:days, cors, xlab="Day", ylab="correlation coefficient", main=paste(product, "Maturity:", maturity))
}
}









































































































































































































































































































